Indoor Intercom Debugging Introduction
1. Debug Procedure¶
-
Set the computer IP and development board on the same network
-
Create a directory named share, and hang to the development board(
/mnt
) to grab the intermediate results of the algorithm, and set the IP by yourselfmount –t cifs –o username=”xxxxx”,password=”xxxxx” //192.168.1.203/share /mnt/
-
Check audio parameters(only be checked when running)
cat /proc/mi_modules/mi_ao/mi_aox cat /proc/mi_modules/mi_ai/mi_aix
-
Set the AI/AO dump directory before grabbing the intermediate pcm (the following code can be written into /customer/demo.sh)
export MI_AI_DUMP_PATH=xxx export MI_AO_DUMP_PATH=xxx
Then set the dump of the corresponding algorithm to 1.
export MI_AI_DUMP_AEC_ENABLE=1 export MI_AI_DUMP_VQE_ENABLE=1 export MI_AO_DUMP_VQE_ENABLE=1
2. Problems And Solutions¶
The solutions to common problems given here are for reference only, please refer to the actual situation during debugging.
Problem | Phenomenon | Cause | Solution |
---|---|---|---|
a bottom noise during a call that cannot be eliminated | A great noise occurred between words and then be suppressed | Continuous noise, but short speech interval, resulting in slow NR convergence | Enable AEC's comfort noise to assist NR convergence |
A little echo between the voices("Like a squeak") | Incomplete elimination of AEC in host, leaving a tail | Grab audio file to analyze. If the frequency is fixed, use AO's EQ/HPF to eliminate it. If not, use AO's AGC to set the noise gate to delete it. | |
One-way intercom problem | Obvious echo | Incomplete elimination of AEC in slave | the echo heard in host: Incomplete elimination of AEC in slave, which can be analyzed by the grabbed file. 1. Adjust the AEC frequency band division and elimination intensity of the slave. 2. Reduce the mic\`s and speaker\`s gain of the slave 3. Test the airtightness of the slave and eliminate structural reasons 4. If the echo frequency band is fixed, use AI\`s EQ in host to delete 5. Reduce the mic\`s gain of the host |
Incomplete elimination of AEC in host | the echo heard in slave: Incomplete elimination of AEC in host. 1. Reduce the mic\`s and speaker\`s gain of the host 2. Test the airtightness of the host and eliminate structural reasons 3. Reduce the mic\`s gain of the slave. 4. If the echo frequency band is fixed, use AI\`s EQ in slave to delete | ||
Speaking simultaneously | voice fluctuation time to time | voice fluctuation from slave to host | grab the file from slave to analyze 1. Maybe the AEC of the slave is too strong, adjust the AEC intensity. 2. If AGC is enabled on the speaker of the slave, check whether the AGC parameters have not been adjusted properly 3. If the signal of the slave is okay, the algorithms such as AGC/EQ may be Enabled for the speaker of the host, by which was incorrect handling, the best way is to deal with host issues.(Processing from the slave requires guessing the behavior of the host) |
voice fluctuation from host to slave | grab the file from AO in slave to analyze, if it was like this, the problem may be in the AEC/AGC processing of the host's mic. 1. May be completely eliminated by the host AEC.(Try to reduce the gain of the host's mic/speaker and slave's mic to confirm whether the problem is from AEC of host) 2. Maybe the data is attenuated by the AGC of the host. You can increase the mic gain of the host to verify it. If there is no problem with the sound, you need to confirm whether it is the problem of the slave's AO algorithm or the structure/speaker. 1. If the AO of the slave has AGC enabled, check whether the AGC parameters are not adjusted properly. 2. Due to structure or speaker, some frequency band signals cannot be delivered. | ||
Words missing(All disappeared) | AEC intensity is too heavy | 1. Adjust AEC intensity 2. Reduce the gain of mic/speaker or the mic\`s gain from other side. | |
AGC/EQ or others were enabled by Speaker | Adjust the corresponding algorithm parameter | ||
Low loudness | 1. Adjust the speaker\`s gain of our side or the mic\`s gain of other side. 2.结构问题 | ||
Speaker distortion, broken sound, vibrato | 1. Adjust the speaker\`s gain 2. Adjust the mic\`s gain of other side 3. Check for structure |
Note:
-
Confirm the cause by analyzing the PCM grabbed in the middle.
-
Confirm the frequency band influence according to the spectrogram, and calculate the frequency band where the noise appears(sr*T/128 = fs, sr is the maximum sampling frequency, T is the serial number of bin, fs is the frequency corresponding to bin), then set the parameter to eliminate the frequency band.
-
Disable all algorithms to confirm the cause.
-
Block the board's microphone to confirm the cause.
-
Turn off the horn to confirm the cause.
-
It involves algorithm update, recommend to back up the original algorithm library first.